let private softmax x =
    let maxElem = List.reduce max x
    let exps = List.map (fun i -> exp (i - maxElem)) x
    let sumExps = List.sum exps
    List.map (fun i -> i / sumExps) exps
let score (input : double list) =
    let func0 =
        if input.[2] > 3.1500000000000004 then
            -1.1986122886681099
        else
            if input.[1] > 3.35 then
                -0.8986122886681098
            else
                -0.9136122886681098
    let func1 =
        if input.[2] > 3.1500000000000004 then
            if input.[2] > 4.450000000000001 then
                -0.09503010837903424
            else
                -0.09563272415214283
        else
            if input.[1] > 3.35 then
                0.16640323607832397
            else
                0.15374604217339707
    let func2 =
        if input.[2] > 1.8 then
            if input.[3] > 1.6500000000000001 then
                -1.2055899476674514
            else
                -0.9500445227622534
        else
            -1.2182214705715104
    let func3 =
        if input.[3] > 0.45000000000000007 then
            if input.[3] > 1.6500000000000001 then
                -0.08146437273923739
            else
                0.14244886188108738
        else
            if input.[2] > 1.4500000000000002 then
                -0.0950888159264695
            else
                -0.09438233722389686
    let func4 =
        if input.[3] > 1.6500000000000001 then
            if input.[2] > 5.3500000000000005 then
                -0.8824095771015287
            else
                -0.9121126703829481
        else
            if input.[2] > 4.450000000000001 then
                -1.1277829563828181
            else
                -1.1794405099157212
    let func5 =
        if input.[2] > 4.750000000000001 then
            if input.[2] > 5.150000000000001 then
                0.16625543464258166
            else
                0.09608601737074281
        else
            if input.[0] > 4.950000000000001 then
                -0.09644547407948921
            else
                -0.08181864271444342
    softmax ([func0 + func1; func2 + func3; func4 + func5])
